package nl.hu.vakantievibes.ui;

import java.util.Date;

import nl.hu.vakantievibes.domain.Reis;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.user.client.History;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.VerticalPanel;

public class DetailsReizen
{
	public DetailsReizen()
	{
		
	}
	Panel p1;
	Label lblReisNaam, lblLocatie, lblDatum, lblKosten, lblOmschrijving, lblplaats, lbldat, lblkost, lblbeschrijving;
	Button boek, annuleren;
	
	public Panel createPage(final Reis r) 
	{
		
		VerticalPanel vp = new VerticalPanel();
	
		lblplaats = new Label("Locatie:");
		lbldat = new Label("Datum:");
		lblkost = new Label("Kosten:" );
		lblbeschrijving = new Label("Omschrijving van de reis: ");
		lblReisNaam = new Label("" + r.getNaam());
		lblReisNaam.setStyleName("plaats");
		lblLocatie = new Label(r.getPlaats() + "," + r.getLand());
		lblDatum = new Label("" + changeDate(r.getVertrekDatum()) + " t/m " + changeDate(r.getAankomstDatum()));
		lblKosten = new Label("\u20AC  " + r.getPrijs()+"");
		lblOmschrijving = new Label("" + r.getOmschrijving());
		boek = new Button("Reis Boeken");
		
		lblplaats.setStyleName("labelstyle3");
		lbldat.setStyleName("labelstyle3");
		lblkost.setStyleName("labelstyle3");
		lblbeschrijving.setStyleName("labelstyle3");
		lblOmschrijving.addStyleName("whitespace");
		
		
		boek.addClickHandler(new ClickHandler() {
			
			@Override
			public void onClick(ClickEvent event) {
				History.newItem("reisboeken-"+ r.getNaam());
			}
		});
		
		
		
		
		
		
		
		
		HorizontalPanel hp = new HorizontalPanel();
		VerticalPanel vp2 = new VerticalPanel();
		HorizontalPanel hp2 = new HorizontalPanel();
		
		vp2.add(lblReisNaam);
		vp2.add(lblplaats);
		vp2.add(lblLocatie);
		vp2.add(lbldat);
		vp2.add(lblDatum);
		
		
		vp2.add(lblkost);
		vp2.add(lblKosten);
		
		HorizontalPanel hp3 = new HorizontalPanel();
		vp2.add(lblbeschrijving);
		hp2.add(lblOmschrijving);
		vp2.add(hp2);
		hp3.add(boek);
		
		vp.add(hp);
		vp.add(vp2);		
		vp.add(hp3);
		
		hp3.setSpacing(5);
		
		
		return vp;
	}
	
	public String changeDate(Date dt)
	{
		DateTimeFormat dtf = DateTimeFormat.getFormat("dd-MM-yyyy");
		return dtf.format(dt);
	}
}